[log_ref] support for stack traces and some engineering#18
Merged
ttiimm merged 1 commit intottiimm:mainfrom Oct 1, 2025
Merged
[log_ref] support for stack traces and some engineering#18ttiimm merged 1 commit intottiimm:mainfrom
ttiimm merged 1 commit intottiimm:mainfrom
Conversation
Stack traces are not part of a log message format string,
so we need to separate them out. This change adds a
regex that is run over the body to pull out Python/Java
backtraces. If a trace is detected, it is stored in the
`trace` field of the `LogDetails` struct. The `body`
field will then only contain the message body without
the trace.
In order to support this, though, the CLI needed to be
modified to handle multi-line messages. So, the binary
now reads input line-by-line and checks if it matches
the log format. If it does, it's considered the start
of a new message. If the next line/EOF also matches
the format, then we process the message. Otherwise,
we add the line to the previous lines to be processed
later.
Files:
* Cargo.toml: Add colored_json to color the output and
make it readable.
* package.json: Make pnpm version less specific
* debugAdapter.ts: Change "--end" to "--count"
* lib.rs: Add more LogError variants. Separate a
backtrace from the message body.
* main.rs: More error checking/reporting. Process input
line-by-line and support multi-line messages.
Color JSON output to make it easier to read.
Command argument changes:
- Support multiple source directories
- Change --end to --count to avoid issues with end
being less than start or having to figure out
whether it's inclusive/exclusive.
ttiimm
approved these changes
Oct 1, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stack traces are not part of a log message format string, so we need to separate them out. This change adds a regex that is run over the body to pull out Python/Java backtraces. If a trace is detected, it is stored in the
tracefield of theLogDetailsstruct. Thebodyfield will then only contain the message body without the trace.In order to support this, though, the CLI needed to be modified to handle multi-line messages. So, the binary now reads input line-by-line and checks if it matches the log format. If it does, it's considered the start of a new message. If the next line/EOF also matches the format, then we process the message. Otherwise, we add the line to the previous lines to be processed later.
Files: